var storage = storages.create("qywxtask");
var tasks = storage.get("tasks", []);
var offTask = tasks.off;
var sign = require('./sign.js');
var common = require('./common/common.js');


function main() {
    // 解锁屏幕
    try {
        // 判断是否锁屏，锁屏情况下，对齐进行解锁（使用数字密码，不要使用图案密码）
        console.log("开始解锁手机");
        common.unlock(tasks.lockPwd);
        sleep(2000);
    } catch (error) {
        console.error("手机解锁失败：",  error);
        console.hide();
        exit();
    }
    
    // 生成随机延迟时间：分钟
    var delay = common.getRndInteger(10, 15);  // 打卡时间比实际时间推迟10分钟到15分钟（随机)
    console.log("开始下班打卡，此次打卡时间比设定时间" + "[" +offTask.time + "]" + "延后" + delay.toString() + "分钟");
    
    // 设置屏幕常亮，时间为打卡延迟时间外加3分钟
    delay = delay  * 60 * 1000;
    device.keepScreenOn(delay + 3 * 60 * 1000);
    if (common.checkWeek(offTask.week)){
        for (var i = 0; i < delay; i+=5000) {
            if (i % 60000 == 0) {
                console.log("距离任务开始还有：", (delay - i) / 1000 / 60, "分钟");
            }
            sleep(5 * 1000);
        }
        try {
            sign.run("off");
        } catch (error) {
            console.error("打卡失败：",  error);
        }
        console.hide();
        exit();
    } else {
        console.log("非工作日，不打卡...")
    } 
}

main();
